
package com.gitee.sop.layui.adminserver.module.background.admin.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gitee.sop.layui.adminserver.module.background.admin.entity.SysMenuRoleRelation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: admin
 * @date: 2019-11-14
 * @version: 1.0.0
 */
public interface SysMenuRoleRelationMapper extends BaseMapper<SysMenuRoleRelation> {

    /**
     * 通过指定角色id查询所有菜单id
     *
     * @param roleUuid 菜单角色uuid
     * @return
     */
    List<String> listMenuUuidByRoleUuid(@Param("roleUuid") String roleUuid);

    /**
     * 查询指定菜单角色的数据条数
     *
     * @param menuRoleUuidList 菜单角色uuid列表
     * @return
     */
    int countInMenuRoleUuids(@Param("menuRoleUuidList") List<String> menuRoleUuidList);

    /**
     * 查询指定菜单的数据条数
     *
     * @param menuUuidList 菜单uuid列表
     * @return
     */
    int countInMenuUuids(@Param("menuUuidList") List<String> menuUuidList);

    /**
     * 删除指定用户指定菜单的所有关联数据
     *
     * @param menuUuid 菜单uuid
     */
    void deleteByMenuUuid(@Param("menuUuid") String menuUuid);

    /**
     * 删除指定用户指定菜单角色的所有关联数据
     *
     * @param roleUuid 菜单角色uuid
     */
    void deleteByRoleUuid(@Param("roleUuid") String roleUuid);

    /**
     * 查询指定角色的关联信息
     *
     * @param menuRoleUuidList 角色uuid编码信息
     * @return
     */
    List<SysMenuRoleRelation> selectInRoleUuid(@Param("menuRoleUuidList") List<String> menuRoleUuidList);
}
